package com.epmis.epmis.Service;

import com.epmis.epmis.pojo.Project;
import com.github.pagehelper.PageInfo;
import org.springframework.data.domain.Page;

import java.util.Date;
import java.util.HashMap;
import java.util.List;

public interface ProjectService {
    PageInfo<HashMap<String,Object>> getAllProjectTable(int pageCode, int pageSize, String id, int enterpriseId);

    PageInfo<HashMap<String,Object>> getPublicProject(int pageCode, int pageSize, String id, int enterpriseId);

    PageInfo<HashMap<String,Object>> getPrivateProject(int pageCode, int pageSize, String id);

    PageInfo<HashMap<String,Object>> findAllProject(int pageCode, int pageSize, String id, String content,int enterpriseId);

    PageInfo<HashMap<String,Object>> findAllDeleteProject(int pageCode, int pageSize, String id, String content, int enterpriseId);

    HashMap<String,Object> getProjectMessage (int id);

    PageInfo<HashMap<String,Object>> getSearchAllTarget(int pageCode, int pageSize, String id,String MissionId);

    PageInfo<HashMap<String,Object>> getAllTarget(int pageCode, int pageSize, String id);

    PageInfo<HashMap<String,Object>> getDangerMission(int pageCode, int pageSize, String id);

    PageInfo<HashMap<String,Object>> getCompleteMission(int pageCode, int pageSize, String id);

    PageInfo<HashMap<String,Object>> getAllProjectMission(int pageCode, int pageSize, String id);

    PageInfo<HashMap<String,Object>> getSearchProjectMission(int pageCode, int pageSize, String id,String missionId);

    PageInfo<HashMap<String,Object>> getMyProjectMission(int pageCode, int pageSize, String id,String principal_id);

    PageInfo<HashMap<String,Object>> getDelayProjectMission(int pageCode, int pageSize, String id);

    PageInfo<HashMap<String,Object>> getAllCost(int pageCode, int pageSize, String id);

    PageInfo<HashMap<String,Object>> getSearchCost(int pageCode, int pageSize, String id,String missionId);

    PageInfo<HashMap<String,Object>> getMyCost(int pageCode, int pageSize, String id,String principal_id);

    PageInfo<HashMap<String,Object>> getBackCost(int pageCode, int pageSize, String id);

    PageInfo<HashMap<String,Object>> getHappenCost(int pageCode, int pageSize, String id);

    int updateProjectMembers(List oldMembers,List newMembers,int projectId);

    int updateDeleteProject(int id);

//    int deleteProject(int id);

    int updateProjectName(String project_name,int id);

    int cancelTop(int id);

    int ToTop(int id);

    int updateProjectNumber(String project_number,int id,String enterprise_id);

    int updateProjectRouge(int rouge,int id);

    int updateProjectDescription(String description,int id);

    int updateProjectState(String state,int id);

    int updateProjectStateDescription(String state_description,int id);

    int updateProjectCustomerUnit(String customer_unit,int id);

    int updateProjectCustomerRepresentative(String customer_representative,int id);

    int updateProjectType(String project_type,int id);

    int updateStartDate(Date start_date, int id);

    int updateOverDate(Date over_date,int id);

    int updateProjectPrincipal(int principal_id,int id);

    int deleteProject1(int deleteId,int projectId);

    List<HashMap<String,Object>> getProjectList(String id,int enterpriseId);

    List<HashMap<String,Object>> getTopProjectList(String id,int enterpriseId);
}
